Computer software consists of a series of instructions that can be interpreted by a machine. Two methods are presently used to allow a computer to execute the instructions embedded in software. The instructions can be converted to machine instructions, which can be executed at the hardware logic-gate level, and stored prior to execution through a method called compilation. Typical methods of compilation are described by Dodson, in U.S. Pat. No. 4,330,822 and by Beckler, in U.S. Pat. No. 4,309,756. Alternatively, the instructions may be executed by a process, called an interpreter, which parses source instructions into machine language actions during execution. Bourne, in U.S. Pat. No. 4,787,035, describes one example of such an interpreter.
While both techniques are popular, each has associated disadvantages. After source instructions are compiled, modifying and updating the relevant instructions becomes very difficult. Alternatively, the use of interpreters involves a considerable amount of overhead at the time of execution. Interpreters also allow for easy viewing of the source code instructions that might not be desired if the instructions are being used in proprietary applications.
Previous software applications have been developed that implement the use of inline scripts to accomplish these very specific tasks. "Inside Macintosh", Vol I-III, published by Apple Computers, describes a method to describe graphical objects using script interpreters.
In the field of network management, methods are employed to discover the existence of devices in computer networks. Internet IETF documents RFC 1067, RFC 832, and RFC 844 describe methods, namely SNMP and DNS, which are used to obtain tables containing network nodes in the vicinity of the node being queried. Such methods are described in more detail by Wu, in U.S. Pat. No. 5,185,860. Existing commercial implementations to discover network components use compiled software to accomplish tasks.